/**
 * 直接插入排序
 *      算法思想：把列表的第一个元素当作有序序列的第一个元素，其余的元素视为无序列表中的元素
 *              取无序序列的第一个元素和有序序列进行比较，找到合适的位置进行插入
 *              每一次排序后，有序序列长度加一，无序序列长度减一
 *              直到无序序列长度为 0 
 *      时间复杂度：O(n^2)
 * @param {*} list 需要排序的列表，元素从 下标1 的位置算起
 */

 function insertSort (list) {
     let i = 1, j, ele
    for (i; i < list.length; i++) {
        ele = list[i]
        j = i - 1
        while (ele < list[j] && j >= 0) {
            list[j + 1] = list[j]
            j--
        }
        list[j + 1] = ele
    }
    console.log(list)
 }

 insertSort([5,4,6,2,10,100,58,-1])